//////////////////////////////////////////////////////////////////////////
//
// Attract State
// AttractState.h
// 
// Grant Johnson
// Qantm College
// 27/10/2010
//
//////////////////////////////////////////////////////////////////////////

#ifndef MAINSTATE_H
#define MAINSTATE_H

#include "ABAppState.h"

class Track;
class hgeSprite;
class World;
class GeneticsEngine;

class MainState : public ABAppState
{
public:
	MainState();
	virtual ~MainState();

  inline GeneticsEngine* GetGeneticsEngine() { return m_pGeneticsEngine; }

	//////////////////////////////////////////////////////////////////////////
	//Virtual Functions inherited by ABAppState
	//////////////////////////////////////////////////////////////////////////
	virtual void OnEnter();
	virtual void OnExit();
	virtual void OnPause();
	virtual void OnResume();
	virtual bool Update(float a_dt);
	virtual void Render(float a_dt);

private:
  Track* m_pTrack;
  World* m_pWorld;
  GeneticsEngine* m_pGeneticsEngine;
};

#endif //MAINSTATE_H